1. Field of the Invention
The invention relates to circuits for evaluating certain types of functions, such as a power function, and more particularly, to a gamma correction mechanism for a video display which greatly reduces the chip area required for implementation.
2. Description of Related Art
In a typical color television receiver, red, green and blue values are derived from a received encoded signal, and applied to a television display tube to regulate the video driving voltage E.sub.v at each point or pixel along the scan of the electron beam across the display. The electron beam strikes a phosphor which then fluoresces to produce a light output at that point which depends on the video driving voltage applied to the electron beam at that point in time. The relationship of light output to video driving voltage is not linear, but rather is proportional to the video driving voltage raised to a power .gamma.. That is, the light output L is given by EQU L.varies.E.sub.v.sup..gamma..
For typical phosphors used in most television receivers, .gamma. is usually between about 2.2-2.8.
In order to compensate for this non-linearity of light output, the red, green and blue signals are typically pre-corrected at the transmission source prior to modulation and transmission to the television receiver. This process is known as gamma correction. The gamma correction function is complementary to the phosphor gamma distortion function. That is, the gamma corrected version of a color signal is proportional to the color signal raised to the power of 1/.gamma.. This function may be approximated in many cases. Gamma correction is described in Benson and Whitaker, "Television Engineering Handbook", revised edition (McGraw-Hill: 1992), pp. 2.28, 4.18-4.20, and 19.7-19.8, incorporated herein by reference.
As used herein, values representing desired red, green and blue light output are referred to by the lower case letters r, g and b, respectively. When a red, green or blue value is discussed but it is not important which of the three is being discussed, the value may be referred to as an rgb value, or simply x. All three values are required to define a color at a given pixel position on a phosphored surface, and when such a set of all three values is discussed, they may be referred to herein as an rgb triple. After gamma correction, a .gamma. subscript is added to each of the above designations, as in r.sub..gamma., g.sub..gamma., b.sub..gamma., r.sub..gamma. g.sub..gamma. b.sub..gamma. value, and r.sub..gamma. g.sub..gamma. b.sub..gamma. triple. The gamma-corrected version of an input value x is sometimes referred to herein simply as y.
Also, the invention concerns manipulation of physical signals representing rgb values, not merely manipulation of the abstract rgb values themselves, although the reasons for manipulating the physical signals in the manner herein described derive from the mathematical manipulations of the numeric values that the physical signals represent. When physical signals representing one of the above quantities is discussed herein, the signals are sometimes referred to herein by a capitalized version of the designation of the underlying quantity, as in R, G, B, X, RGB value, RGB triple, R.sub..gamma., G.sub..gamma., B.sub..gamma., Y, R.sub..gamma. G.sub..gamma. B.sub..gamma. value and R.sub..gamma. G.sub..gamma. B.sub..gamma. triple. Note that the physical signals representing a value may be carried on several conductors (for example, if the value is represented in binary), and thus the physical signals representing such a value may comprise a group of physical signals. The physical signals may be, for example, electrical signals having a voltage which, when above a predefined threshold represent a logic 1, and which, when below a predefined threshold represent a logic 0.
Note further that although a red, green and blue coordinate system is assumed herein, color signals in another multi-stimulous coordinate system may be operated on in a similar manner to produce similar results.
In the past, gamma correction was performed either digitally or in analog. Analog methods often used a non-linear component such as a diode in a circuit which approximates the 1/.gamma. power function. Another analog method involves amplifying the color signal by an amplifier having a piecewise linear approximation of the gamma correction function in its feedback network. Both of these methods are imprecise, and because they are analog, they do not lend themselves to direct use in digitally generated or processed image sources.
Digital methods for implementing a gamma correction function have usually involved passing a color value (R, G or B) through a ROM look-up table to generate respective corrected values R.sub..gamma., G.sub..gamma. or B.sub..gamma.. The uncorrected RGB signal is applied to the address lines of the ROM and the corrected R.sub..gamma. G.sub..gamma. B.sub..gamma. signal is read from the ROM data output lines. Such a ROM must usually be able to handle eight bits of address input and provide at least eight bits of gamma-corrected output, for a total size of at least 2048 cells. While gamma correction can, at low pixel rates, be multiplexed for the three color components through the same ROM, a 2048 cell ROM still occupies an inordinately large physical area on any integrated circuit chip which is used for processing source video signals to be applied to a phosphor display. Additionally, ROM structures, especially of specifically 2048 bit cells, are often not available or are extremely inefficient to implement in many commercially available gate array technologies. Since the primary application of CRT-based equipment is for price sensitive consumer products, it is desirable to reduce the cost of the gamma correction process as greatly as possible while still retaining the required accuracy to avoid unwanted display artifacts.